package com.ruoyi.Teacher.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 教师信息对象 teacher_info
 * 
 * @author ruoyi
 * @date 2025-09-20
 */
public class TeacherInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long teacherId;

    /** 姓名 */
    @Excel(name = "姓名")
    private String name;

    /** 用户性别（0男 1女 2未知） */
    @Excel(name = "用户性别", readConverterExp = "0=男,1=女,2=未知")
    private String sex;

    /** 职工号 */
    @Excel(name = "职工号")
    private String wordId;

    /** 联系方式 */
    @Excel(name = "联系方式")
    private String phone;

    /** 入职时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入职时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date hireDate;

    /** 职称 */
    @Excel(name = "职称")
    private String professionalTitle;

    /** 职务 */
    @Excel(name = "职务")
    private String position;

    /** 所属院系 */
    @Excel(name = "所属院系")
    private String department;

    /** 在岗状态 */
    @Excel(name = "在岗状态")
    private Long employmentStatus;

    public void setTeacherId(Long teacherId) 
    {
        this.teacherId = teacherId;
    }

    public Long getTeacherId() 
    {
        return teacherId;
    }

    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }

    public void setSex(String sex) 
    {
        this.sex = sex;
    }

    public String getSex() 
    {
        return sex;
    }

    public void setWordId(String wordId) 
    {
        this.wordId = wordId;
    }

    public String getWordId() 
    {
        return wordId;
    }

    public void setPhone(String phone) 
    {
        this.phone = phone;
    }

    public String getPhone() 
    {
        return phone;
    }

    public void setHireDate(Date hireDate) 
    {
        this.hireDate = hireDate;
    }

    public Date getHireDate() 
    {
        return hireDate;
    }

    public void setProfessionalTitle(String professionalTitle) 
    {
        this.professionalTitle = professionalTitle;
    }

    public String getProfessionalTitle() 
    {
        return professionalTitle;
    }

    public void setPosition(String position) 
    {
        this.position = position;
    }

    public String getPosition() 
    {
        return position;
    }

    public void setDepartment(String department) 
    {
        this.department = department;
    }

    public String getDepartment() 
    {
        return department;
    }

    public void setEmploymentStatus(Long employmentStatus) 
    {
        this.employmentStatus = employmentStatus;
    }

    public Long getEmploymentStatus() 
    {
        return employmentStatus;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("teacherId", getTeacherId())
            .append("name", getName())
            .append("sex", getSex())
            .append("wordId", getWordId())
            .append("phone", getPhone())
            .append("hireDate", getHireDate())
            .append("professionalTitle", getProfessionalTitle())
            .append("position", getPosition())
            .append("department", getDepartment())
            .append("employmentStatus", getEmploymentStatus())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
